#ifndef DOMINO_MANAGER_H
#define DOMINO_MANAGER_H

#include <vector>
#include "Domino.h"
#include "Exceptions.h"


namespace dgame {

typedef unsigned int uint;

class DominoManager{
public:
    //exception safety
    DominoManager() {}
    //exception safety
    DominoManager(const DominoManager &);
    //exception safety
    void addDomino(const Domino &d);
    //exception safety
    bool checkDomino(const Domino &d) const;
    //Exceptions: DominoNotFoudedExceptions - Domino was not founded
    void deleteDomino(const Domino &d);
    //exception safety
    uint size() const { return mDomino.size(); }
    //Exseptions: OutOfRangeException
    const Domino &operator[](uint n) const;
    //exception safety
    const DominoManager &operator=(const DominoManager &);
	//exception safety
	void shuffleDomino();
private:
    std::vector<Domino> mDomino;
};

class DominoNotFoundedException {
};


}

#endif
